'''

函数的作用：
把功能封装起来，重复使用
定义：
def   ==》##define

def 函数名（）：
    函数代码块

函数的参数：
定义函数的时候设的叫形参
调用函数的时候传递的参数叫实参

位置参数 ，形参和实参的数量必须一样，否则报错，前后位置是一一对应的

默认值参数：给形参定义的一个固定的值，如果调用函数不传递这个实参，则使用默认值，如果传递了实参，使用实参
注意：默认值参数一定要放在位置参数的后面

关键字参数：给实参定义时候用的，来指定实参传递给哪一个形参

动态参数：*ages

接收所有的  位置参数
        *kwages  key word

'''
#这是一个求和的函数
# def sum1(b,a,c):
#     '''
#     这是一个求和用的函数
#     现在没有参数，因为我还没学
#     :return: 也没有，也没学呢
#     '''
#     # print('a',a,'b',b)
#     print(a+b+c)
# # print(sum1)
# sum1(1,3,2)

# def func(name,age,mobile,gender='男'):
#     print('姓名：',name)
#     print('年龄：',age)
#     print('性别：',gender)
#     print('手机号：',mobile)
#
#
# # func('tom',18,13011111111)
# # func('lili',19,'女','11111111111')
# func(name='jack',mobile=132000083413,age=23)

# tup= 11,22,33,44
# a ,*b  = 11,22,33,44
# print(a)
# print(*b)
# print(b)




# * 就有一个解构的作用，可以把元组或者字典外包装拆掉，里面的值分别拿出来散放着
# (22,33,44) = 22 33 44
# def sum2(*args):
#     '''
#     求和函数：
#     调用函数的时候可以随便给我传递几个值都可以
#     :return:
#     '''
#     # print(args)
#     total = 0
#     for i in args:
#         total += i
#     print(total)
#
#
# sum2(11,22,33,44)


#打印一个学生成绩
# #
# def grade(name,cla,gender='男',*args,**kwargs):
#
#     # print(f'{cla}班的{name}同学，css成绩：{css}，html成绩：{html}，phthon成绩：{phthon}')
#     print(gender)
#     print(args)
#     for k,v in kwargs.items():
#         print(k ,v)
#
#
# grade('zx','1190801','nv',css=90,html=100,python= 89,js = 60,php = 45,vue = 98)


def f(a, b, /, c, d,* ,e ,f):
    print(locals())
    print(a, b, c, d,e,f)

f(1,2,4,3 ,e = 5, f = 6)



